package Template5::DTD; 
use base qw(Template5::DTD::Base);

use Template5::Info::DTD;
use Template5::HTML::DTD;
use Template5::Ns;

our %import  = ('info' => Template5::Info::DTD->new(),
								'html' => Template5::HTML::DTD->new());
our $nsurl   = TEMPLATENS;
our %allowed = (''              => ['template'],
								'template'      => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'case', 'attr', 'html::', 'info::info'],
								'container'     => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'html::'],
								'if'            => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'html::'],
								'repeat'        => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'html::'],
								'while'         => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'html::'],
								'link'          => ['container', 'if', 'repeat', 'while', 'switch',         'templinsert', 'ins', 'cache', 'text'],
								'cache'         => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins',          'text', 'html::'],
								'case'          => ['container', 'if', 'repeat', 'while', 'switch', 'link', 'templinsert', 'ins', 'cache', 'text', 'html::'],
								'switch'        => ['case'],
								'templatribute' => [],
								'attr'          => [],
								'templinsert'   => [],
								'ins'           => [],
								'text'          => []);

#-------------------------------------------------------------------------------
#public
sub new
{
	my $class = shift;
	return  $class->SUPER::new($nsurl, \%allowed, \%import);
};

1;

